package io.mft.datasource.db.accessor.impl;

import io.mft.commons.db.mapper.TableDbMapper;
import io.mft.commons.function.ExecuteReturn;
import io.mft.commons.function.response.kv.KVMap;
import io.mft.datasource.db.accessor.bean.DAContext;
import io.mft.datasource.db.accessor.bean.DbContextValue;
import io.mft.datasource.db.accessor.sql.SQLScript;
import io.mft.datasource.db.accessor.sql.SQLScriptManager;

/**
 * 数据库删除操作
 * @说明：TODO
 * @类型名称：DbDeleteAccessor
 * @创建者: 胡常建  
 * @创建时间: 2021年9月16日 下午9:21:00
 * @修改者: 胡常建  
 * @修改时间: 2021年9月16日 下午9:21:00
 */
public class DbDeleteAccessor extends DbUnQueryExecuteAccessor {
	@Override
	protected ExecuteReturn executeTable(DAContext<DbContextValue> context) throws Exception {
		DbContextValue dbContextValue = context.getContextValue();
		SQLScript sqlScript = SQLScriptManager.getInstance().get(dbContextValue.getScriptKey());
		TableDbMapper<KVMap> mapper = TableDbMapper.getInstance(dbContextValue.getDatasourceId(), sqlScript.getScript(),KVMap.class);
		mapper.del(context.getRequest().getRequestValue(),false);
		ExecuteReturn executeReturn=ExecuteReturn.builder().build();
		return executeReturn; 
	}
}
